gtk4.git
10 years agoGtkEntry: Remove recompute idle
Timm Bäder [Thu, 3 Dec 2015 17:14:45 +0000 (18:14 +0100)]
GtkEntry: Remove recompute idle

Just do it directly

10 years agoGtkEntry: Remove unused fields
Timm Bäder [Thu, 3 Dec 2015 17:10:54 +0000 (18:10 +0100)]
GtkEntry: Remove unused fields

10 years agoAdwaita: some OSD rationalization
Lapo Calamandrei [Thu, 3 Dec 2015 18:28:57 +0000 (19:28 +0100)]
Adwaita: some OSD rationalization

taking care of https://bugzilla.gnome.org/show_bug.cgi?id=732528 in
the process, any toolbar.osd with a positional style class attached
gets squared corners now.

10 years agoAdwaita: scale with marks styling
Lapo Calamandrei [Thu, 3 Dec 2015 17:39:19 +0000 (18:39 +0100)]
Adwaita: scale with marks styling

I'm really sorry for the unlucky ones who would have to read that
code...

10 years agoAdwaita: added back scale marks style
Lapo Calamandrei [Thu, 3 Dec 2015 15:18:12 +0000 (16:18 +0100)]
Adwaita: added back scale marks style

10 years agotests: Rework some foreigndrawing code
Benjamin Otte [Thu, 3 Dec 2015 13:40:32 +0000 (14:40 +0100)]
tests: Rework some foreigndrawing code

Instead of specifying the full path everytime, just specify the parent
style context and then use its path.

10 years agoUpdate gtk_drag_highlight() docs
Matthias Clasen [Thu, 3 Dec 2015 13:37:58 +0000 (08:37 -0500)]
Update gtk_drag_highlight() docs

What they said was no longer true.

10 years agoSimplify foreign drawing example a bit
Matthias Clasen [Thu, 3 Dec 2015 12:55:57 +0000 (07:55 -0500)]
Simplify foreign drawing example a bit

10 years agoAdwaita: scale fill style
Lapo Calamandrei [Thu, 3 Dec 2015 11:18:17 +0000 (12:18 +0100)]
Adwaita: scale fill style

10 years agoGtkAppChooserWidget: wrap the label, use a standard icon
Sebastien Bacher [Wed, 2 Dec 2015 12:46:24 +0000 (13:46 +0100)]
GtkAppChooserWidget: wrap the label, use a standard icon

Let the label wrap if needed, that's required in some locales, use an
icon which is available in the theme

https://bugzilla.gnome.org/show_bug.cgi?id=758908

10 years agoAdwaita: rename scale sass templates to be more specific
Lapo Calamandrei [Thu, 3 Dec 2015 10:43:53 +0000 (11:43 +0100)]
Adwaita: rename scale sass templates to be more specific

10 years agoAdwaita: added back style for scales on selected list rows
Lapo Calamandrei [Thu, 3 Dec 2015 10:38:50 +0000 (11:38 +0100)]
Adwaita: added back style for scales on selected list rows

10 years agoAdwaita: first stab at GtkScale and GtkProgressBar rewrite
Lapo Calamandrei [Wed, 2 Dec 2015 20:03:03 +0000 (21:03 +0100)]
Adwaita: first stab at GtkScale and GtkProgressBar rewrite

...scale has marks stuff missing, coming soon.

10 years agowindow: Deprecate gtk_window_resize_to_geometry()
Benjamin Otte [Thu, 3 Dec 2015 09:36:14 +0000 (10:36 +0100)]
window: Deprecate gtk_window_resize_to_geometry()

And make it not do anything anymore.

Fixes erratic resizes of gnome-terminal.

https://bugzilla.gnome.org/show_bug.cgi?id=757282

10 years agogtkwindow: Document further resize with csd
Olivier Fourdan [Wed, 2 Dec 2015 10:15:39 +0000 (11:15 +0100)]
gtkwindow: Document further resize with csd

Applying the client-side decorations in the configure routine greatly
increases the chances of having the right size for the GtkHEaderBar and
border shadows.

Yet, it may be possible that these sizes change at a later point in
time, if for example the GtkHeaderBar grows in height while adding new
controls.

Mention this possible pitfall in the documentation for
gtk_window_resize().

https://bugzilla.gnome.org/show_bug.cgi?id=756618

10 years agoentry: Use regular drag highlight
Matthias Clasen [Thu, 3 Dec 2015 04:50:03 +0000 (23:50 -0500)]
entry: Use regular drag highlight

The entry code passes GTK_DEST_DEFAULT_HIGHLIGHT when setting
up the drop target, but that is ineffective because of the
custom drag_motion implementation. Instead, call
gtk_drag_[un]hightlight ourselves.

10 years agoUse :dnd pseudoclass for drag highlighting
Matthias Clasen [Thu, 3 Dec 2015 04:49:07 +0000 (23:49 -0500)]
Use :dnd pseudoclass for drag highlighting

Instead of a ::draw handler with a hardcoded outline,
use CSS for drawing the highlight.

10 years agocss: Add a :dnd pseudoclass
Matthias Clasen [Thu, 3 Dec 2015 04:23:36 +0000 (23:23 -0500)]
css: Add a :dnd pseudoclass

This will be used for drag highlighting.

10 years agoAdd a selected text example
Matthias Clasen [Thu, 3 Dec 2015 04:10:56 +0000 (23:10 -0500)]
Add a selected text example

10 years agoMake foreign drawing example work
Matthias Clasen [Thu, 3 Dec 2015 02:32:45 +0000 (21:32 -0500)]
Make foreign drawing example work

Set up multiple style contexts to get inheritance right.

10 years agoAdd another hand-drawn scrollbar
Matthias Clasen [Wed, 2 Dec 2015 23:59:59 +0000 (18:59 -0500)]
Add another hand-drawn scrollbar

This one is supposed to show up in active state, but doesn't.

10 years agoAdd an example of foreign drawing
Matthias Clasen [Wed, 2 Dec 2015 23:46:54 +0000 (18:46 -0500)]
Add an example of foreign drawing

This uses the gtk_render apis with a style context constructed
from a style path.

10 years agocss: Introduct -gtk-icon-palette
Benjamin Otte [Wed, 2 Dec 2015 23:33:51 +0000 (00:33 +0100)]
css: Introduct -gtk-icon-palette

This borrows heavily from the CSS4 fonts draft's font-palette, currently
found at https://drafts.csswg.org/css-fonts-4/#font-palette-control

The palette is mainly meant to trigger invalidations when colors used for
symbolic icons change, to potentially allow extending supported colors
in symbolic icons and to recolor all colors of a symbolic icon, not just
the main one.

The syntax for the property goes like this:
Name:        -gtk-icon-palette
Value:       default | name <color> [ , name <color> ]*
Initial:     default
Applies to:  all elements with icons
Inherited:   yes
Animatable:  yes, each color animated separately

The property defines a list of named colors to be used when looking up
icons. If a name is not defined, the value of the current "color"
property is used. Which names are relevant depends on the icons in use.
Currently symbolic icons make use of the names "success", "warning" and
"error".

"default" is the current behavior of the GTK when coloring symbolic
icons and is equal to the string
  success @success_color, warning @warning_color, error @error_color

Animation is crudely implemented by animating colors that are in both
palettes that are animated and otherwise keeping the color from the
palette that defined it. Note that this can cause a sharp cut at the
beginning or end of the animation when the color goes away and will
therefore be replaced with the color property.

You can see an example of animations at
http://gfycat.com/CautiousPeacefulIaerismetalmark

10 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 2 Dec 2015 20:08:41 +0000 (21:08 +0100)]
Updated Spanish translation

10 years agoGtkRange: Return proper constants in signal handlers
Timm Bäder [Wed, 2 Dec 2015 19:58:58 +0000 (20:58 +0100)]
GtkRange: Return proper constants in signal handlers

10 years agoGtkRange: Remove recalc_marks field
Timm Bäder [Wed, 2 Dec 2015 19:43:17 +0000 (20:43 +0100)]
GtkRange: Remove recalc_marks field

And instead recalculate the marks on demand, i.e. whenever we were
previously setting recalc_marks to TRUE.

10 years agoGtkRange: Use G_MININT as default mouse position, not -1
Timm Bäder [Wed, 2 Dec 2015 19:12:01 +0000 (20:12 +0100)]
GtkRange: Use G_MININT as default mouse position, not -1

Otherwise we're getting MOUSE_WIDGET as mouse position for unmapped
GtkRanges.

10 years agoGtkScale: Add missing nullable annotations
Timm Bäder [Wed, 2 Dec 2015 10:19:48 +0000 (11:19 +0100)]
GtkScale: Add missing nullable annotations

10 years agoAdwaita: button.color fix
Lapo Calamandrei [Wed, 2 Dec 2015 16:42:42 +0000 (17:42 +0100)]
Adwaita: button.color fix

border-radius: 0 for colorswatch overlay as well.

10 years agoAdwaita: vertically linked insensitive entries
Lapo Calamandrei [Wed, 2 Dec 2015 16:02:58 +0000 (17:02 +0100)]
Adwaita: vertically linked insensitive entries

Brighter border in that case as well.

10 years agodnd: Add gtk_image_set_from_definition()
Benjamin Otte [Wed, 2 Dec 2015 14:40:44 +0000 (15:40 +0100)]
dnd: Add gtk_image_set_from_definition()

... and use it in the DND code, thereby getting rid of the icon helper.

10 years agodnd: No need to reset the icon
Benjamin Otte [Wed, 2 Dec 2015 14:22:23 +0000 (15:22 +0100)]
dnd: No need to reset the icon

When we start a drag cancel animation, we can just keep the existing
window. The reset was only necessary to convert from cursor icon to
window and we removed the cursor handling.

10 years agoimage: Remove unused code
Benjamin Otte [Wed, 2 Dec 2015 13:56:15 +0000 (14:56 +0100)]
image: Remove unused code

I wonder how long that stuff has existed and not been used...

10 years agoimage: Split out a function
Benjamin Otte [Wed, 2 Dec 2015 13:54:15 +0000 (14:54 +0100)]
image: Split out a function

10 years agoimagedefinition: Assert when trying to free empty definition
Krzesimir Nowak [Wed, 2 Dec 2015 11:29:58 +0000 (12:29 +0100)]
imagedefinition: Assert when trying to free empty definition

Empty definitions are not allocated on a heap, so doing a g_free() on
it would crash anyway.

10 years agocssprovider: Pass NULL unconditionally
Krzesimir Nowak [Tue, 17 Nov 2015 09:00:23 +0000 (10:00 +0100)]
cssprovider: Pass NULL unconditionally

We know that parent is NULL at this point.

Also, fix indentation.

10 years agogtkwindow: apply CSD in configure size request
Olivier Fourdan [Wed, 25 Nov 2015 14:30:52 +0000 (15:30 +0100)]
gtkwindow: apply CSD in configure size request

Just like we did for the default size, that reduces the chances of
having the headerbar missing or wrongly sized when computing the client
side decorations controls.

https://bugzilla.gnome.org/show_bug.cgi?id=756618

10 years agopopover: Make position property not CONSTRUCT
Matthias Clasen [Wed, 2 Dec 2015 06:07:02 +0000 (01:07 -0500)]
popover: Make position property not CONSTRUCT

There is no good reason for it, and it causes problems
with widget templates.

10 years agopopover: Port to g_object_install_properties
Matthias Clasen [Wed, 2 Dec 2015 06:03:35 +0000 (01:03 -0500)]
popover: Port to g_object_install_properties

And use the pspecs for notification.

10 years agodnd: Drop an unused argument
Matthias Clasen [Wed, 2 Dec 2015 05:51:47 +0000 (00:51 -0500)]
dnd: Drop an unused argument

10 years agodnd: Some simplifications
Matthias Clasen [Wed, 2 Dec 2015 05:48:37 +0000 (00:48 -0500)]
dnd: Some simplifications

We can now use a GtkImage instead of toplevel with
a custom draw callback and a specially prepared cairo
pattern.

10 years agoDrop gdk_wayland_drag_context_get_dnd_window
Matthias Clasen [Wed, 2 Dec 2015 05:47:53 +0000 (00:47 -0500)]
Drop gdk_wayland_drag_context_get_dnd_window

This backend-specific and libgtk-only API is now unused,
so drop it.

10 years agodnd: Prevent black background in icons
Matthias Clasen [Wed, 2 Dec 2015 05:03:11 +0000 (00:03 -0500)]
dnd: Prevent black background in icons

10 years agoDND: Drop support for using rgba cursors as icons
Matthias Clasen [Wed, 2 Dec 2015 03:52:28 +0000 (22:52 -0500)]
DND: Drop support for using rgba cursors as icons

This adds a lot of complication to the code, and is not really
a big win, since still need to support icon windows anyway.

10 years agodnd: Fix issues with drag icons under Wayland
Matthias Clasen [Tue, 1 Dec 2015 15:34:26 +0000 (10:34 -0500)]
dnd: Fix issues with drag icons under Wayland

The Wayland dnd surface must remain in place until the drag
is over. Setting it directly as the hardcoded window of the
widget we construct carries the danger that it might get
destroyed prematurely, e.g. when the application calls
gtk_drag_set_icon_name more than once and we recreate the
widget.

Instead, create a dedicated toplevel, and reparent the widget
into it. To keep the code simple, we use the same approach
under X11 as well, and make it the responsibility of the
GDK dnd code to keep the window position updated. We already
pass the current pointer position to gdk_drag_motion, which
makes this very easy.

As a side-effect of these changes, it is now possible to use
non-toplevel widgets as drag icons.

https://bugzilla.gnome.org/show_bug.cgi?id=748763

10 years agoAdd gdk_drag_context_get_drag_window
Matthias Clasen [Wed, 2 Dec 2015 04:33:53 +0000 (23:33 -0500)]
Add gdk_drag_context_get_drag_window

This makes gdk_wayland_drag_context_get_dnd_window
backend-independent API and adds an implementation
for X11.

10 years agowidget: Don't update pango context in state_flags_changed
Benjamin Otte [Wed, 2 Dec 2015 04:04:41 +0000 (05:04 +0100)]
widget: Don't update pango context in state_flags_changed

It only needs to be updated in style_updated, and we do it there.

10 years agoChain up in state_flags_changed
Benjamin Otte [Wed, 2 Dec 2015 03:36:31 +0000 (04:36 +0100)]
Chain up in state_flags_changed

When introducing handlers for state_flags_changed in the node
transitions, chaining up was forgotten.

10 years agocss: Add ability to specify icontheme in CSS
Benjamin Otte [Wed, 2 Dec 2015 02:54:41 +0000 (03:54 +0100)]
css: Add ability to specify icontheme in CSS

-gtk-icontheme: "oxygen" works now.

This is a very crude implementation. It's meant for testing only.

10 years agowindow: Listen to icon theme changes on CSS
Benjamin Otte [Wed, 2 Dec 2015 02:28:36 +0000 (03:28 +0100)]
window: Listen to icon theme changes on CSS

No need to connect a signal handler to the icon theme, we get notified
via CSS.

10 years agocss: Query icon theme from style, not from settings
Benjamin Otte [Wed, 2 Dec 2015 02:18:26 +0000 (03:18 +0100)]
css: Query icon theme from style, not from settings

No need to look at the settings when the CSS has a property for the icon
theme.

10 years agospinner: Active spinners should be :checked, not :active
Benjamin Otte [Tue, 1 Dec 2015 23:39:25 +0000 (00:39 +0100)]
spinner: Active spinners should be :checked, not :active

If that sounds confusing, it's because GTK and CSS can sometimes not
agree on naming.

:active for CSS means that a button is currently pressed on an element.
And that is clearly not the case for spinning spinners.

10 years agostylecontext: Don't emit state warning for transient nodes
Benjamin Otte [Tue, 1 Dec 2015 23:26:16 +0000 (00:26 +0100)]
stylecontext: Don't emit state warning for transient nodes

It's fine to call set_state() on those.

https://bugzilla.gnome.org/show_bug.cgi?id=758930

10 years agocss: Rename -gtk-image-effect to -gtk-icon-effect
Benjamin Otte [Tue, 1 Dec 2015 21:29:24 +0000 (22:29 +0100)]
css: Rename -gtk-image-effect to -gtk-icon-effect

This is a property for icons, so we should name it as such.

10 years agoStop using gtk_icon_size_lookup_for_settings()
Benjamin Otte [Tue, 1 Dec 2015 19:12:45 +0000 (20:12 +0100)]
Stop using gtk_icon_size_lookup_for_settings()

Use the equivalent gtk_icon_size_lookup() instead.

10 years agoiconhelper: Stop tracking state
Benjamin Otte [Tue, 1 Dec 2015 18:51:44 +0000 (19:51 +0100)]
iconhelper: Stop tracking state

The iconfactory code doesn't use it anymore, so we don't need to track
it either.

10 years agoiconfactory: Make state depend on image-effect
Benjamin Otte [Tue, 1 Dec 2015 18:41:46 +0000 (19:41 +0100)]
iconfactory: Make state depend on image-effect

This removes the dependency on state, which should be used for selection
CSS styles, not for actually applying them.

And image-effect does exactly what we want already, so we can start
using it.

10 years agoiconhelper: Remove _gtk_icon_helper_ensure_pixbuf()
Benjamin Otte [Tue, 1 Dec 2015 17:32:00 +0000 (18:32 +0100)]
iconhelper: Remove _gtk_icon_helper_ensure_pixbuf()

The code isn't used anymore. Everything uses
gtk_icon_helper_load_surface() now.

10 years agostatusicon: Use gtk_icon_helper_load_surface()
Benjamin Otte [Tue, 1 Dec 2015 17:31:38 +0000 (18:31 +0100)]
statusicon: Use gtk_icon_helper_load_surface()

This is in preparation for the next commit.

10 years agodnd: Add gtk_drag_set_icon_definition()
Benjamin Otte [Tue, 1 Dec 2015 16:42:09 +0000 (17:42 +0100)]
dnd: Add gtk_drag_set_icon_definition()

... and use it for entry icons.

As a side effect, icons dragged from entries will now resize to DND
size.

10 years agoimagedefinition: Remove icon-size
Benjamin Otte [Tue, 1 Dec 2015 03:44:29 +0000 (04:44 +0100)]
imagedefinition: Remove icon-size

The size of icons is a property that is relevant to who is rendering the
icon, not to the icon itself.

Example: Starting a DND operation from an entry icon should cause the
icon to resize (from the entr icon's size to the DND icon size).

10 years agodnd: Rewrite iconhelper code
Benjamin Otte [Tue, 1 Dec 2015 01:25:17 +0000 (02:25 +0100)]
dnd: Rewrite iconhelper code

It now uses GtkImageDefinition instead.

10 years agoentry: Use gtk_icon_helper_load_surface()
Benjamin Otte [Mon, 30 Nov 2015 00:49:49 +0000 (01:49 +0100)]
entry: Use gtk_icon_helper_load_surface()

This is the first step towards getting rid of pixbuf loading code in the
icon helper.

10 years agoiconhelper: Add a scale argument to gtk_icon_helper_load_surface()
Benjamin Otte [Mon, 30 Nov 2015 00:33:14 +0000 (01:33 +0100)]
iconhelper: Add a scale argument to gtk_icon_helper_load_surface()

It will be used in the next patch.

10 years agoiconhelper: Refactor ensure_surface()
Benjamin Otte [Sun, 29 Nov 2015 23:55:43 +0000 (00:55 +0100)]
iconhelper: Refactor ensure_surface()

Make gtk_icon_helper_ensure_surface() a private function that just
ensures the surface was loaded.

Add gtk_icon_helper_load_surface() that is called by the above function
and the dnd code to actually load the surface.

10 years agoiconhelper: Store surface in ensure_surface()
Benjamin Otte [Sun, 29 Nov 2015 23:45:58 +0000 (00:45 +0100)]
iconhelper: Store surface in ensure_surface()

Do not assign it in the functions that actually load the surface. Make
those just return the surface.

10 years agoiconhelper: Don't store surface size
Benjamin Otte [Sun, 29 Nov 2015 19:21:25 +0000 (20:21 +0100)]
iconhelper: Don't store surface size

Instead, compute it on demand.

This avoids having to cache it in lots of places and simplifies code.

10 years agoiconhelper: Move invalidation check
Benjamin Otte [Sun, 29 Nov 2015 18:45:52 +0000 (19:45 +0100)]
iconhelper: Move invalidation check

Just do the invalidation check once, there's no need to do it in every
branch of the switch.

Also remove useless checks: These functions will not be called if we
already have a rendered surface.

10 years agodnd: Use surface for dnd icon instead of pixbuf
Benjamin Otte [Sun, 29 Nov 2015 02:23:59 +0000 (03:23 +0100)]
dnd: Use surface for dnd icon instead of pixbuf

10 years agoiconhelper: Move invalidation check
Benjamin Otte [Sun, 29 Nov 2015 00:36:10 +0000 (01:36 +0100)]
iconhelper: Move invalidation check

Just do the invalidation check once, there's no need to do it in every
branch of the switch.

Also remove useless checks: These functions will not be called if we
already have a rendered surface.

10 years agoiconhelper: Improve size determination for surfaces
Benjamin Otte [Sat, 28 Nov 2015 06:06:37 +0000 (07:06 +0100)]
iconhelper: Improve size determination for surfaces

Instead of just working for image surface, this should now work for all
bounded surfaces.

Test included.

10 years agoiconhelper: Move size computation
Benjamin Otte [Fri, 27 Nov 2015 17:05:36 +0000 (18:05 +0100)]
iconhelper: Move size computation

We do a switch on the image type, so compute the size for a certain
image type right there.

10 years agoimage: queue_resize() after changing icon-size property
Benjamin Otte [Thu, 26 Nov 2015 14:37:42 +0000 (15:37 +0100)]
image: queue_resize() after changing icon-size property

10 years agodragsource: Store an itemdefinition, not an iconhelper
Benjamin Otte [Wed, 25 Nov 2015 14:59:44 +0000 (15:59 +0100)]
dragsource: Store an itemdefinition, not an iconhelper

The icon is never rendered, so there's no need for the extra iconhelper
code.

10 years agoimagedefinition: Split out from icon helper
Benjamin Otte [Tue, 24 Nov 2015 18:55:09 +0000 (19:55 +0100)]
imagedefinition: Split out from icon helper

The image definition is supposed to hold the description about the image
to be displayed. The icon helper actually does caching and tracks
changes.

10 years agowindow: Remove suspicious branch
Benjamin Otte [Tue, 1 Dec 2015 16:25:54 +0000 (17:25 +0100)]
window: Remove suspicious branch

It seems this branch is not needed anymore. It was originally added in
1999 to support gtk_widget_realize(), but all those reasons seem
obsolete today.
Instead just call gtk_widget_realize().

If you end up at this commit when bisecting:
There is no bug that made me remove this code, it was purely meant to be
cleanup / dead code removal. I seem to have introduced a new bug or
bisecting wouldn't have let you here. So it seems we should just revert
this commit.

10 years agoRevert "gdk_pixbuf_get_from_window: honor device scale"
Benjamin Otte [Sun, 29 Nov 2015 03:49:20 +0000 (04:49 +0100)]
Revert "gdk_pixbuf_get_from_window: honor device scale"

This reverts commit 657a43e54e7721fced8ef0e6808271838f14697f.

The commit breaks the assumptions about the arguments in both
gdk_pixbuf_get_from_window() and gdk_pixbuf_get_from_surface().

https://bugzilla.gnome.org/show_bug.cgi?id=757147

10 years agowayland: Remove unused variable
Benjamin Otte [Tue, 1 Dec 2015 23:26:20 +0000 (00:26 +0100)]
wayland: Remove unused variable

Poor gcc was unhappy.

10 years agopopover: Make it possible to constrain to toplevel
Matthias Clasen [Tue, 1 Dec 2015 19:56:56 +0000 (14:56 -0500)]
popover: Make it possible to constrain to toplevel

Under X11, popovers are always constrained to the toplevel
window. Under Wayland, they aren't. This commit adds a
property that allows to explicitly constrain popovers to
the toplevel, giving them the same behavior under Wayland
as under X11.

https://bugzilla.gnome.org/show_bug.cgi?id=757474

10 years agofilechooserbutton: add some spacing between icon and text
Christian Hergert [Tue, 1 Dec 2015 07:09:31 +0000 (23:09 -0800)]
filechooserbutton: add some spacing between icon and text

These were a bit crammed, which doesn't match well with spacing used in
various other parts of gtk.

10 years agogtkwindow: remove headerbar after disposing parent
Olivier Fourdan [Wed, 25 Nov 2015 17:06:53 +0000 (18:06 +0100)]
gtkwindow: remove headerbar after disposing parent

Widgets such as gtkfilechooser may be saving their size and position on
the unmap callback, if the client-side decoration header bar is removed
first, the reported size will be wrong.

https://bugzilla.gnome.org/show_bug.cgi?id=756618

10 years agowayland: re-configure surface even if size matches
Olivier Fourdan [Tue, 1 Dec 2015 13:52:03 +0000 (14:52 +0100)]
wayland: re-configure surface even if size matches

gdk-wayland backend would not re-configure a surface when its size and
scale match the known size and scale.

But there might be a pending xdg_surface_configure() that would revert
this change so we should re-configure even if the currently known
size/scale match, otherwise we may end up with a wrong size after the
xdg_surface_configure() is received.

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=758901

10 years agowayland: Invert drop_finished/button release call order
Carlos Garnacho [Tue, 1 Dec 2015 14:11:52 +0000 (15:11 +0100)]
wayland: Invert drop_finished/button release call order

If we "release" the button first, the drag will be eventually cancelled,
we must first signal GDK_DROP_FINISHED, and then release the button so
the success status prevails.

10 years agowayland: Store requested target on GdkWaylandSelection
Carlos Garnacho [Tue, 1 Dec 2015 12:58:21 +0000 (13:58 +0100)]
wayland: Store requested target on GdkWaylandSelection

It doesn't make a lot of sense to have this stored as data offer data,
rather together with the source_targets array, which is what we're
poking here in the end.

https://bugzilla.gnome.org/show_bug.cgi?id=758713

10 years agoAdd some more missing nullable annotations
Timm Bäder [Tue, 1 Dec 2015 12:40:46 +0000 (13:40 +0100)]
Add some more missing nullable annotations

10 years agoGtkBox: The center widget can be NULL
Timm Bäder [Tue, 1 Dec 2015 12:36:21 +0000 (13:36 +0100)]
GtkBox: The center widget can be NULL

Propagates to GtkActionBar.

10 years agoGtkWidget: Add some missing nullable annotations
Timm Bäder [Tue, 1 Dec 2015 12:31:08 +0000 (13:31 +0100)]
GtkWidget: Add some missing nullable annotations

10 years agoinspector: Show the size request mode
Matthias Clasen [Tue, 1 Dec 2015 03:27:27 +0000 (22:27 -0500)]
inspector: Show the size request mode

This is not a property, so show it in the misc page.

10 years agowindow: Use g_set_object
Matthias Clasen [Tue, 1 Dec 2015 01:45:57 +0000 (20:45 -0500)]
window: Use g_set_object

No need to do the same thing manually.

10 years agotestentryicons: update dnd example
Matthias Clasen [Mon, 30 Nov 2015 23:41:33 +0000 (18:41 -0500)]
testentryicons: update dnd example

This code was #ifdefed out since 2008. Time to try it.

10 years agotestentryicons: Use an existing icon name
Matthias Clasen [Mon, 30 Nov 2015 23:21:44 +0000 (18:21 -0500)]
testentryicons: Use an existing icon name

dialog-info is not an existing icon.

10 years agowayland: Refactor selection ownership
Carlos Garnacho [Mon, 30 Nov 2015 17:35:10 +0000 (18:35 +0100)]
wayland: Refactor selection ownership

Dissociate ownership from our maintenance of wl_data_source objects.
The only place where ownership must be updated together is
data_source.cancelled, for the other places GDK should take care of
setting up the right ownership, even if at a different order than
we'd expect here.

This fixes GTK+ apps on wayland being locally confused about the
current selection ownership. Because gtk_selection_add_targets()
results in a wl_data_source being created, and ownership being
updated right away, early callers of this will change the ownership
even if the widget it's being called on didn't explicitly request
the selection ownership yet.

https://bugzilla.gnome.org/show_bug.cgi?id=758660

10 years agotextiter: fix bug in case insensitive backward search
Sébastien Wilmet [Thu, 26 Nov 2015 12:31:19 +0000 (13:31 +0100)]
textiter: fix bug in case insensitive backward search

'win.lines' contains the same content as the GtkTextBuffer, so to find
@match_start, forward_chars_with_skipping() is called with
skip_decomp=FALSE (the last parameter). So far so good.

On the other hand, the content 'lines' (the needle split in lines) is
casefolded and normalized for a case insensitive search. So,
forward_chars_with_skipping(..., skip_decomp=TRUE) must be called only
for the portion of text containing the needle.

Since 'start_tmp' contains the location at the start of the match, we
can simply begin at that location to find the end of the match.

Unit tests are added.

https://bugzilla.gnome.org/show_bug.cgi?id=758698

10 years agolistbox: Use :focus-on-click policy from row instead of list
Florian Müllner [Wed, 25 Nov 2015 00:05:04 +0000 (01:05 +0100)]
listbox: Use :focus-on-click policy from row instead of list

Using the property from the container is inconsistent with the
:selectable and :activatable properties, which are per row.

10 years agoicon-browser: Stop using GtkMisc properties
Timm Bäder [Sat, 28 Nov 2015 20:00:29 +0000 (21:00 +0100)]
icon-browser: Stop using GtkMisc properties

Instead of xpad/ypad of 4 for every widget, just increase the
row-spacing and column-spacing by 8.

https://bugzilla.gnome.org/show_bug.cgi?id=758790

10 years agoicon-browser: Use proper "times" character
Timm Bäder [Sat, 28 Nov 2015 19:51:48 +0000 (20:51 +0100)]
icon-browser: Use proper "times" character

https://bugzilla.gnome.org/show_bug.cgi?id=758790

10 years agoicon-browser: baseline-align the icon size labels
Timm Bäder [Sat, 28 Nov 2015 19:48:40 +0000 (20:48 +0100)]
icon-browser: baseline-align the icon size labels

https://bugzilla.gnome.org/show_bug.cgi?id=758790

10 years agostack: Update windows before allocating children
Matthias Clasen [Mon, 30 Nov 2015 15:35:04 +0000 (10:35 -0500)]
stack: Update windows before allocating children

Doing things the other way around seems to cause problems in
some cases where children want to do different things depending
on the window position.

https://bugzilla.gnome.org/show_bug.cgi?id=758563

10 years agoscalebutton: Annotate the return type
Emmanuele Bassi [Mon, 30 Nov 2015 14:09:19 +0000 (14:09 +0000)]
scalebutton: Annotate the return type

Instead of just listing the return type of get_plus_button() and
get_minus_button() in the documentation, we can use the (type)
annotation to ensure that the introspection data reflects the actual
type of the returned widget.

10 years agogtkwindow: fix regression with firefox dropdown menu
Benjamin Otte [Thu, 26 Nov 2015 10:00:17 +0000 (11:00 +0100)]
gtkwindow: fix regression with firefox dropdown menu

Fix a regression introduced by:

commit 6866d1c widget: Make gtk_widget_queue_allocate() not resize

Where the dropdown menu in Firefox would not be relocated after the
toplevel window is moved.

bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=758609